const PerfHelperIface = loadInterfaceXML('org.gnome.Shell.PerfHelper');
var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
-function PerfHelper() {
- return new PerfHelperProxy(Gio.DBus.session, 'org.gnome.Shell.PerfHelper', '/org/gnome/Shell/PerfHelper');
-}
let _perfHelper = null;
-function _getPerfHelper() {
+/** private */
+async function _getPerfHelper() {
if (_perfHelper == null) {
- _perfHelper = new PerfHelper();
+ _perfHelper = await PerfHelperProxy.newAsync(
+ Gio.DBus.session, 'org.gnome.Shell.PerfHelper', '/org/gnome/Shell/PerfHelper');
_perfHelper._autoExit = true;
}
* because of the normal X asynchronous mapping process, to actually wait
* until the window has been mapped and exposed, use waitTestWindows().
*/
-function createTestWindow(params) {
+async function createTestWindow(params) {
params = Params.parse(params, {
width: 640,
height: 480,
textInput: false,
});
- let perfHelper = _getPerfHelper();
+ let perfHelper = await _getPerfHelper();
perfHelper.CreateWindowAsync(
params.width, params.height,
params.alpha, params.maximized,
* Used within an automation script to pause until all windows previously
* created with createTestWindow have been mapped and exposed.
*/
-function waitTestWindows() {
- let perfHelper = _getPerfHelper();
+async function waitTestWindows() {
+ let perfHelper = await _getPerfHelper();
return perfHelper.WaitWindowsAsync().catch(logError);
}
* this doesn't guarantee that Mutter has actually finished the destroy
* process because of normal X asynchronicity.
*/
-function destroyTestWindows() {
- let perfHelper = _getPerfHelper();
+async function destroyTestWindows() {
+ let perfHelper = await _getPerfHelper();
return perfHelper.DestroyWindowsAsync().catch(logError);
}
* Don't exixt the perf helper after running the script. Instead it will remain
* running until something else makes it exit, e.g. the Wayland socket closing.
*/
-function disableHelperAutoExit() {
- let perfHelper = _getPerfHelper();
+async function disableHelperAutoExit() {
+ let perfHelper = await _getPerfHelper();
perfHelper._autoExit = false;
}
}
try {
- const perfHelper = _getPerfHelper();
+ const perfHelper = await _getPerfHelper();
if (perfHelper._autoExit)
perfHelper.ExitSync();
} catch (err) {